﻿<!-- #include file="mymin.asp" -->
<title>论坛管理</title></head><body><div class='main400'>
<%

dim p,id,a,staff
p=getN("p",1)
if p<1 then p=1

id=getN("id",0)
a=getN("a",0)

dim rs
set rs=Server.CreateObject("ADODB.Recordset")
if a=0 then
	If id<>0 Then
		rs.open"select classid,name,remark,host from 74hu_bbs where classid="&id,myconn,1,1
		If Not rs.eof Then
			staff=rs("host")
			If staff=0 Then staff=""
			w "<form method='post' action='admin.asp?sid="&sid&"&amp;a=1&amp;id="&id&"'>"&_
				"论坛ID:"&rs("classid")&"<br/>"&_
				"名称:<input name=""name"" value="""&nowml(rs("name"))&"""/><br/>"&_
				"备注:<input name=""remark"" value="""&nowml(rs("remark"))&"""/><br/>"&_
				"版主:<input name=""staff"" value="""&staff&""" size=""7"" format=""*N""/>(填ID)<br/>"&_
				"<input type=""hidden"" name=""bbsid"" value="""&rs("classid")&"""/>"&_
				"<input type='submit' value='保存论坛'/></form>"&_
				"<a href=""admin.asp?sid="&sid&"&amp;a=2&amp;id="&id&""">删除论坛</a><br/>"&_
				"注:一个论坛只有一个版主,一个版主只管理一个论坛<br/>"
		Else
			w "没有这个论坛！<br/>"
		End If
		rs.close
	Else
		Dim classid
		rs.open"select max(classid) from 74hu_bbs",myconn,1,1
		If Not rs.eof Then
			classid=rs(0)
			If classid<>"" Then
				classid=classid+1
			Else
				classid=1
			End If
		End If
		w "<form method='post' action='admin.asp?sid="&sid&"&amp;a=1'>"&_
			"添加论坛<br/>"&_
			"论坛ID:<input name=""bbsid"" value="""&classid&"""/><br/>"&_
			"论坛名称:<input name=""name"" value=""""/><br/>"&_
			"论坛备注:<input name=""remark"" value=""""/><br/>"&_
			"<input type='submit' value='保存论坛'/></form>"&_
			"注:这种方式页面不会直接显示论坛，如果直接显示，方法:设计中心-添加栏目-论坛菜单<br/>"
	End If
elseif a=1 then
	dim name,remark,count,bbsid
	bbsid=getN("bbsid",-1)
	name=getDD("name","")
	remark=getDD("remark","")
	staff=getN("staff",-1)
	if bbsid<1 then Call error2("论坛ID必须是正数!")
	if name="" then Call Error2("论坛名称不能为空!")
	If id<>0 Then
		count=myconn.execute("select count(classid) from 74hu_bbs where host="&staff&" and classid<>"&id)(0)
		if count=0 then
			rs.open"select name,remark,host from 74hu_bbs where classid="&id,myconn,1,3
			If Not rs.eof Then
				rs("name")=name
				if remark<>"" then rs("remark")=remark
				if staff>0 then
					rs("host")=staff
				else
					if rs("host")<>0 then
						rs("host")=0
					end if
				end if
				rs.update
				w "论坛编辑成功！<br/>"
			Else
				w "没有这个论坛！<br/>"
			End If
			rs.close
		else
			w "该会员已管理另一个论坛！<br/>"
		end if
	Else
		If 0<myconn.execute("select count(classid) from 74hu_bbs where classid="&bbsid)(0) Then Call error("论坛ID:"&bbsid&"已存在,请使用其他ID!")
		myconn.execute("insert into 74hu_bbs (classid,name,remark)values("&bbsid&",'"&name&"','"&remark&"')")
		w "论坛保存成功！<br/>"
	End If
elseif a=2 then
	If 0=myconn.execute("select count(id) from 74hu_topic where classid="&id)(0) Then
		w "删除后无法恢复，你确定要删除这个论坛？<br/><a href=""admin.asp?sid="&sid&"&amp;a=3&amp;id="&id&""">确认删除</a><br/>"
	Else
		w "暂时不能删除论坛。该论坛下还有帖子，查看<a href='posts.asp?sid="&sid&"&amp;bbsid="&id&"'>这些帖子</a><br/>"
	End If
	w "<a href=""admin.asp?sid="&sid&"&amp;id="&id&""">返回论坛</a><br/>"
	w "注：为提高系统运行速度，系统对用户发帖数和回帖数做了索引。直接删除论坛会导致用户发帖数和回帖数统计失真，需要先手动删除论坛内所有帖子和回复<br/>"
elseif a=3 then
	rs.open"select * from 74hu_bbs where classid="&id,myconn,1,3
	If Not rs.eof Then
		rs.delete
		Server.ScriptTimeOut=999999
		rs.close
		rs.open "Select * from 74hu_topic where classid="&id,myconn,2,3
		if not rs.eof then'论坛要删除其中的帖子和回复
			Dim postid
			While Not rs.eof
				postid=rs("id")
				rs.delete
				myconn.Execute("delete from 74hu_reply Where postid="&postid)
				rs.movenext
			Wend
		end if
		w "删除成功！<br/>"
	Else
		w "没有这个论坛！<br/>"
	End If
	rs.close
else
	w "操作失败!<br/>"
end if
set rs=nothing

w "----------"

call bbsLast
%>